
package cn.superchart.module.menu.param;

import com.fasterxml.jackson.annotation.JsonAlias;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Getter;
import lombok.Setter;

import java.io.Serializable;
import java.util.Map;

@Getter
@Setter
public class ScMenuTree implements Serializable {

    /** 主键ID */
    @JsonIgnore
    private String id;

    @JsonIgnore
    private String parentId; // 父菜单ID，一级菜单为0

    @JsonIgnore
    private String menuName; // 菜单名称

    @JsonIgnore
    private String menuPath; // 菜单、按钮、接口地址

    // @JsonIgnore
    private Integer menuType; // 类型：0-目录，1-菜单，2-按钮，3-接口

    @JsonAlias("name")
    @JsonProperty("name") // 在序
    private String routeName; // 路由名称

    @JsonAlias("path")
    @JsonProperty("path") // 在序
    private String routePath; // 路由地址

    private String perms; // 授权标识(多个用逗号分隔，如：user:list,user:create)

    private String component; // 路由对应的地址

    @JsonIgnore
    private Boolean enable; // 1: 启用，0: 禁用

    @JsonIgnore
    private String remark; // 备注

    @JsonIgnore
    private String metaStr; // 拓展属性（JSON 字符串）

    private Map<String,Object> meta; // 拓展属性（JSON 字符串）

    @JsonAlias("order")
    @JsonProperty("order") // 在序
    private Integer sortCode; // 排序码
}
